﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LPrisaMVC.Entities;

namespace LPrisaMVC.DAO
{
    public interface IHistorialVentaDAO
    {
        List<HISTORIAL_VENTAS> GetAllFromHistorialVentas();
        List<HISTORIAL_VENTAS> GetFromHistorialVentasbyFechasAndProductoAndContado(DateTime? fec1, DateTime? fec2, string producto, bool contado);
        List<HISTORIAL_VENTAS> GetFromHistorialVentasbyFechasAndProductoAndCredito(DateTime? fec1, DateTime? fec2, string producto, bool credito);
        List<HISTORIAL_VENTAS> GetFromHistorialVentasbyFechasAndProductoAndMenudeo(DateTime? fec1, DateTime? fec2, string producto, bool menudeo);
        HISTORIAL_VENTAS GetFromHistorialVentasById(int id);
        void AddHistorialVentas(HISTORIAL_VENTAS historialVenta);

        void UpdateHistorialVenta(int idProducto, DateTime? fecha, Decimal precio, int cantidadAct, int nuevaCant);
        void UpdateHistorialCredito(int idProducto, DateTime? fecha, Decimal precio, int cantidadAct, int nuevaCant);

        void RemoveHistorialVentas(int idProducto, DateTime? fecha, Decimal precio, int cantidad);
        void RemoveHistorialCredito(int idProducto, DateTime? fecha, Decimal precio, int cantidad);

        void CierreDeCaja(DateTime? FechaHistorial);

        bool GetAllHistorialByProductoId(int idProducto);
    }
}
